package javaes.dados.pais;

import java.util.List;
import javaes.dados.generico.InsertUpdateDeleteHibernate;
import javaes.dados.generico.ObterRegistros;
import javaes.modelo.Pais;

public class PaisDAOHibernate implements PaisDAO
{
	private ObterRegistros<Pais> obt;
	
	public PaisDAOHibernate()
	{
		this.obt = new  ObterRegistros(new Pais());
	}

	@Override
	public void salvar(Pais pais) throws Exception 
	{
		try
        {
           InsertUpdateDeleteHibernate.salva(pais);
        }
        catch(Exception erro)
        {
           throw new Exception(erro.getMessage());
        }
		
	}

	@Override
	public void excluir(Pais pais) throws Exception
	{
		try
	      {
	          InsertUpdateDeleteHibernate.exclui(pais);
	      }
	      catch(Exception erro)
	      {
	          throw new Exception(erro.getMessage());
	      }
		
		
	}

	@Override
	public Pais buscaPorID(long id) throws Exception 
	{
		return 	(Pais)this.obt.buscar(id, "idPais");
	}

	@Override
	public List<Pais> listar() throws Exception 
	{
		return this.obt.listar();
	}

    @Override
    public Pais buscaPorSigla(String sigla) throws Exception 
    {
        return 	(Pais)this.obt.buscar(sigla, "sigla");
    }
}
